
$(document).ready(function () {
    let obj = new Object();
    obj.m = "list";
    //初始化商品类型列表
    $.ajax({
        //请求方式： 同步 false 异步 true
        async:true,
        //请求方式
        type:"GET",
        //请求地址
        url:basePath2+"/api/category",
        //数据 ,json字符串
        //返回值的类型
        dataType:"json",
        data:obj,
        //请求成功
        success:function (result) {
            initCategoryLi(result);
        },
        //请求失败
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });
    //初始化新品商品
    let merchantObj = new Object();
    merchantObj.m= "getMerchantListBySpecial";
    merchantObj.special= 0;
    //初始化新品商品
    $.ajax({
        //请求方式： 同步 false 异步 true
        async:true,
        //请求方式
        type:"POST",
        //请求地址
        url:basePath2+"/api/merchandise",
        //数据 ,json字符串
        //返回值的类型
        dataType:"json",
        data:merchantObj,
        //请求成功
        success:function (result) {
            initNewsMerchant(result);
        },
        //请求失败
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });
    //初始化特价商品
    let specialMerchantObj = new Object();
    specialMerchantObj.m= "getMerchantListBySpecial";
    specialMerchantObj.special= 1;
    //初始化特价商品
    $.ajax({
        //请求方式： 同步 false 异步 true
        async:true,
        //请求方式
        type:"POST",
        //请求地址
        url:basePath2+"/api/merchandise",
        //数据 ,json字符串
        //返回值的类型
        dataType:"json",
        data:specialMerchantObj,
        //请求成功
        success:function (result) {
            initSpecialMerchant(result);
        },
        //请求失败
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });

//绑定登录按钮事件
    $(".btnLogin").click(login);
//绑定注册按钮事件
    $(".btnRegister").click(register);
//初始化登陆页面 如果session中存在登录信息 那么就欢迎您 显示一些其他信息
//如果session中不存在登录信息 那么就显示登录页面
    initLoginView();
//对特价的更多的按钮做点击事件
    $("#moreSpecial").click(function () {
        location.href="/html/merchandiseList.html?special=1";
    })
//对新品的更多的按钮做点击事件
    $("#moreNew").click(function () {
        location.href="/html/merchandiseList.html?special=0";
    })
});

function initLoginView() {
    let obj = new Object();
    obj.m="getLoginMember";
    $.ajax({
        //请求方式： 同步 false 异步 true
        async:true,
        //请求方式
        type:"POST",
        //Ajax请求设置xhrFields的withCredentials为true实现跨域访问
        xhrFields:{
            withCredentials:true
        },
        //请求地址
        url:basePath2+"/api/member",
        //数据 ,json字符串
        //返回值的类型
        dataType:"json",
        data:obj,
        //请求成功
        success:function (result) {
            console.log(result);
            makeLoginView(result);
        },
        //请求失败
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });
}

//展示登录窗口信息
function makeLoginView(result) {
    if (result.code==200){
        //成功 存在登录信息
        let member = result.data;
        $(".loginWrap").html("");
        let txt = '';
        txt = txt+"<br>";
        txt = txt+"<span style='font-size: 30px;color:green'>欢迎："+member.memberName+"</span>";
        txt = txt+"<br>";
        txt = txt+"<span style='font-size: 30px;color:green'>会员等级："+member.levelName+"</span>";
        txt = txt+"<p align='center'><button style=\"width:100px;background-color: #4380CC;border-radius: 10px;color: white;border:none;\" onclick='memberExit()'>安全退出</button></p>";
        $(".loginWrap").html(txt);
    }
}

//退出
function memberExit() {
    let obj = new Object();
    obj.m="exit";
    $.ajax({
        //请求方式： 同步 false 异步 true
        async:true,
        //请求方式
        type:"POST",
        //Ajax请求设置xhrFields的withCredentials为true实现跨域访问
        xhrFields:{
            withCredentials:true
        },
        //请求地址
        url:basePath2+"/api/member",
        //数据 ,json字符串
        //返回值的类型
        dataType:"json",
        data:obj,
        //请求成功
        success:function (result) {
            location.href="/index.html";
        },
        //请求失败
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });
}

//注册 测试
function register() {
    let obj = new Object();
    obj.m="getLoginMember";
    $.ajax({
        //请求方式： 同步 false 异步 true
        async:true,
        //请求方式
        type:"POST",
        //Ajax请求设置xhrFields的withCredentials为true实现跨域访问
        xhrFields:{
            withCredentials:true
        },
        //请求地址
        url:basePath2+"/api/member",
        //数据 ,json字符串
        //返回值的类型
        dataType:"json",
        data:obj,
        //请求成功
        success:function (result) {
            console.log(result);
        },
        //请求失败
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });
}
//登录
function login() {
    //用户名
    let loginName = $("#loginName").val();
    //密码
    let loginPwd = $("#loginPwd").val();
    let obj = new Object();
    obj.m="login";
    obj.loginName=loginName;
    obj.loginPwd=loginPwd;
    //ajax请求
    $.ajax({
        //请求方式： 同步 false 异步 true
        async:true,
        //Ajax请求设置xhrFields的withCredentials为true实现跨域访问
        xhrFields:{
            withCredentials:true
        },
        //请求方式
        type:"POST",
        //请求地址
        url:basePath2+"/api/member",
        //数据 ,json字符串
        //返回值的类型
        dataType:"json",
        data:obj,
        //请求成功
        success:function (result) {
            console.log(result);
            loginSuccess(result);
        },
        //请求失败
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });

}


//登录成功
function loginSuccess(result) {
    if (result.code==200){
        //成功
        console.log(result.msg);
        makeLoginView(result);//更新登录的div
    }else {
        //失败
        console.log(result.msg);
        $("#errLogin").show();//显示
        //输入框 用户名获得焦点
        $("#loginName").focus();
    }
}
//初始化特价商品信息
function initSpecialMerchant(result) {
    $("#specialMerchant").html("");//清空内容
    //遍历json数组
    $.each(result,function(index,element) {
        let div = $("<div></div>");
        div.addClass("merchant");
        let img1 = $("<img>");
        img1.attr("src","/resources"+element.picture);
        let br1 = $("<br>");
        let a = $("<a></a>").text(element.merName);
        a.attr("href","#"+element.id);
        let br2 = $("<br>");
        let span1 = $("<span></span>").text("市场价：￥"+element.price);
        let br3 = $("<br>");
        let span2 = $("<span></span>").text("特价：￥"+element.sprice);
        let br4 = $("<br>");
        let img2 = $("<img>").attr("src","/resources/images/icon_car.gif");
        let img3 = $("<img>").attr("src","/resources/images/icon_buy.gif");
        //img2加入点击事件
        img2.bind("click",element.id,getMerchandiseDetail);
        img3.bind("click",element.id,addShopCart);
        //放到div中
        div.append(img1,br1,a,br2,span1,br3,span2,br4,img2,img3);
        $("#specialMerchant").append(div);
    });

}
//初始化新品商品信息
function initNewsMerchant(result) {
    $("#newsMerchant").html("");//清空内容
    //遍历json数组
    $.each(result,function(index,element) {
        let div = $("<div></div>");
        div.addClass("merchant");
        let img1 = $("<img>");
        img1.attr("src","/resources"+element.picture);
        let br1 = $("<br>");
        let a = $("<a></a>").text(element.merName);
        a.attr("href","#"+element.id);
        let br2 = $("<br>");
        let span1 = $("<span></span>").text("市场价：￥"+element.price);
        let br3 = $("<br>");
        let img2 = $("<img>").attr("src","/resources/images/icon_car.gif");
        let img3 = $("<img>").attr("src","/resources/images/icon_buy.gif");
        //img2加入点击事件
        img2.bind("click",element.id,getMerchandiseDetail);
        img3.bind("click",element.id,addShopCart);
        //放到div中
        div.append(img1,br1,a,br2,span1,br3,img2,img3);
        $("#newsMerchant").append(div);
    });
}

/**
 * 获得商品详情
 * @param result
 */
function getMerchandiseDetail(event) {
    let id = event.data;
    location.href="/html/merchandiseDetail.html?id="+id;
}

/**
 * 商品加入购物车
 * @param event
 */
function addShopCart(event) {
    let id = event.data;
    //处理业务
    let obj = new Object();
    obj.m="add";
    obj.merId = id;
    $.ajax({
        //请求方式： 同步 false 异步 true
        async:true,
        //请求方式
        type:"POST",
        //Ajax请求设置xhrFields的withCredentials为true实现跨域访问
        xhrFields:{
            withCredentials:true
        },
        //请求地址
        url:basePath2+"/api/auth/shopCar",
        //数据 ,json字符串
        //返回值的类型
        dataType:"json",
        data:obj,
        //请求成功
        success:function (result) {
            console.log(result);
            //跳转
            if (result.code==505 || result.code==506){
                //跳转到请先进行登录页面
                location.href="/html/notLoginView.html";
            }else if (result.code==200){
                //登录成功
                location.href="/html/shopCarList.html";
            }
        },
        //请求失败
        error:function (e) {
            console.log(e.status);
            console.log(e.responseText);
        }
    });

}
//初始化商品列表 li
function initCategoryLi(result) {
    $(".categoryUl").html("");//先清空内容
    //遍历json数组
    $.each(result,function(index,element) {
        let li = $("<li></li>");
        let a = $("<a></a>").text(element.cateName);
        a.attr("value",href="#"+element.id);
        li.append(a);
        $(".categoryUl").append(li);
    });
}